package com.hw.shortlink.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hw.shortlink.project.dto.req.RecycleBinPageReqDto;
import com.hw.shortlink.project.dto.req.RecycleBinRecoverDto;
import com.hw.shortlink.project.dto.req.RecycleBinRemoveReqDto;
import com.hw.shortlink.project.dto.req.RecycleBinSaveReqDto;
import com.hw.shortlink.project.dto.resp.ShortLinkPageRespDto;

public interface RecycleBinService {

    /**
     * 将短链接移至回收站
     * @param recycleBinSaveReqDto
     */
    void saveToRecycleBin(RecycleBinSaveReqDto recycleBinSaveReqDto);

    /**
     * 短链接分页查询
     * @param recycleBinPageReqDto
     * @return
     */
    IPage<ShortLinkPageRespDto> pageQuery(RecycleBinPageReqDto recycleBinPageReqDto);

    /**
     * 复原短链接
     * @param recycleBinRecoverDto
     */
    void recover(RecycleBinRecoverDto recycleBinRecoverDto);


    /**
     * 删除短链接
     * @param recycleBinRemoveReqDto
     */
    void removeRecycleBin(RecycleBinRemoveReqDto recycleBinRemoveReqDto);
}
